#pragma once
#include "Platforms.h"

class Model;
class Texture;
class Shader;

class ResourcesManager
{
private:
	Model** m_models;
	Texture** m_textures;
	Shader** m_shaders;
	GLint m_numOfModels, m_numOfTextures, m_numOfShaders;
	static ResourcesManager* s_Instance;

private:
	ResourcesManager(void);
	~ResourcesManager(void);
public:
	void Init(const char* file);
	Model* GetModelById(const char* id);
	Texture* GetTextureById(const char* id);
	Shader* GetShaderById(const char* id);
	static ResourcesManager* GetInstance();
	static void Destroy();
};
